﻿using System;

namespace Autorun
{
    [Serializable()]
    public sealed class ServerManagement : MarshalByRefObject
    {

        #region "Singleton Design-Pattern"
        private static ServerManagement _instance = new ServerManagement();

        public static ServerManagement Instance
        {
            get { return _instance; }
        }
        #endregion

        #region "Properties"
        public ConfigurationManagement Configuration
        {
            get { return ConfigurationManagement.Instance; }
        }

        public IOAccessManagement FileAccess
        {
            get { return IOAccessManagement.Instance; }
        }

        public Information Information
        {
            get { return Information.Instance; }
        }

        public ServiceManagement Service
        {
            get { return ServiceManagement.Instance; }
        }

        public ScheduleManagement Scheduler
        {
            get { return ScheduleManagement.Instance; }
        }

        public MonitorManagement Monitor
        {
            get { return MonitorManagement.Instance; }
        }

        public LogManagement Log
        {
            get { return LogManagement.Instance; }
        }
        #endregion
    }
}
